import axios from 'axios'
import { getToken } from '~/composables/auth'
import { useToast } from 'vue-toastification'

const toast = useToast()

// 测试请求：https://www.xdfznh.club/atoolsbe/cash/selectAll
const service = axios.create({
  // baseURL: '/api' 对应 vite.config.js 中设置的代理服务器的 '/api' - 解决跨域问题
  baseURL: import.meta.env.VITE_APP_BASE_API // 使用环境变量，~/api 下的接口都从后端 controller 开始，即：/sysRole/selectAll
})

// 请求拦截器
service.interceptors.request.use(function(config){
  // 向请求头中添加 token
  const token = getToken();
  //if(token) config.headers['token'] = token;

  return config;
},function (err) {
  return Promise.reject(err);
});

// 响应拦截器
service.interceptors.response.use(function(axiosRes){
  const res = axiosRes.data
  if(res.code !== 1){
    toast.error(res.msg)
  }
  return res;// 返回后端相应来的 JsonResult
},function(err){
  // errorMsg(err.response.data.msg);
  toast.error('异步请求出现异常');
  console.log('~/axios 响应拦截器：', err)
  return Promise.reject(err);
})

export default service
